package a0.annotation;

import java.lang.annotation.*;

/**
 * author: xiaoxu
 **/

//在源码中起作用，代码编译之后就不存在了
//@Retention(RetentionPolicy.SOURCE)
//代码编译为字节码文件时依然存在，运行时就不存在了
//@Retention(RetentionPolicy.CLASS)
//在代码运行期依然存在
@Retention(RetentionPolicy.RUNTIME)
//文档注解
@Documented
//表示注解的使用范围（类，变量，构造器，方法，包，注解，等等）
@Target(ElementType.TYPE)
//加上，表示允许子类继承父类使用的注解
@Inherited
public @interface MyAnnotation {
    //定义变量
    //变量如果没有设置默认值default，则使用时候必须赋值
    public String name() default "miaomiao";

    public int age();

    //定义数组变量,使用时用大括号，可以赋值多个
    public String[] like();

    //定义枚举类型,限制变量类型
    public Color color();


}
